Add check for speed (takes 33 minutes on my laptop, OUCH!)
authoremellor@ewan <emellor@ewan>
Fri, 23 Sep 2005 13:28:16 +0000 (14:28 +0100)
committeremellor@ewan <emellor@ewan>
Fri, 23 Sep 2005 13:28:16 +0000 (14:28 +0100)
commitbdd477ad345e8e0ba6640ea480fa47a7c3d5fdf0
treee8fc323b3f0330ac42ee57f9cc8bb740baabcc9f
parentf11f68cd1157d84615621edcd7321a6d0a09b158
Add check for speed (takes 33 minutes on my laptop, OUCH!)

Make xenstored use tdb, transactions can soft-fail (EAGAIN)
Transactions no longer take root dir, no longer lock & block: commit can fail spuriously with EAGAIN, not ETIMEDOUT.
Speeds up transactions by over 1000 times, should be NFS safe.
New program: xs_tdb_dump to dump raw TDB contents.
Don't do failure testing: we are no longer robust against all ENOMEM 8(
Introduce "struct node" which contains perms, children and data.
Make struct xs_permissions unpadded, so we can write to tdb w/o valgrind complaints.
Gently modify TDB to use talloc, not do alloc on tdb_delete.

Fix up transaction users for new semantics.
Don't need a transaction around a single read in xen/i386/kernel/smpboot.c.
Python: transaction_start() returns True/False rather than raising exception on EAGAIN.
Fix usage comment on xs_transaction_end().
Include stdarg to xs_tdb_dump so it compiles.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
15 files changed:
linux-2.6-xen-sparse/arch/xen/i386/kernel/smpboot.c
linux-2.6-xen-sparse/arch/xen/kernel/reboot.c
linux-2.6-xen-sparse/drivers/xen/blkback/xenbus.c
linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c
linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c
linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_xs.c
linux-2.6-xen-sparse/include/asm-xen/xenbus.h
tools/python/xen/lowlevel/xs/xs.c
tools/python/xen/xend/XendDomainInfo.py
tools/python/xen/xend/server/DevController.py
tools/python/xen/xend/xenstore/xsnode.py
tools/python/xen/xend/xenstore/xstransact.py
tools/xenstore/xenstore_client.c
tools/xenstore/xs.h
tools/xenstore/xs_tdb_dump.c